Aircraft flight simulators provide an alternative for pilot training to the use of aircraft, the use of which may, at times, be inconvenient, uneconomical and/or dangerous. Obviously, the validity of such training is in direct relation to the degree to which an aircraft flight simulator reflects the respective aircraft including the interior of the cockpit, the response of the controls and, of course, the view from the window.
Simulation of the view from the window of an aircraft is provided by a system which is referred to as a modular digital image generator (DIG). For details of the modular digital image generator the reader is directed to the U.S. Pat. No. 4,570,233 of Johnson K. Yan and Judit K. Florence.
For purposes of the present invention, it is sufficient to note that the modular digital image generator employs a data base the elements of which define the terrain (including natural formations and cultural structures) of the simulation (gaming) area. Specifically, the terrain is modeled by polygon surfaces (faces) which are defined by a list of edges. Relevant surfaces are processed in a "top-down writing order" in which unocculted surfaces are processed first, followed by surfaces in order of occultation, as presented to the eye of the pilot.
Further, it should be noted that for processing the polygon surfaces, the modular digital image generator employs a "bed of nails" device which provides quantization finer than that of a basic picture element (pixel). Subpixel resolution is used to minimize anomalies and aliasing effects which are evidenced by image "stair stepping", "crawling", "line breakup", and "scintillation".
Specifically, each pixel is subdivided both vertically and horizontally to form a 4.times.4 array of subpixels. For processing, a "flag bit" is associated with each subpixel. The (total) array of flag bits is referred to as a "bed of nails". For purposes of understanding the operation of the bed of nails device, it is convenient to conceptualize a nail positioned at the center of each subpixel. Hence, for each nail at each subpixel, there is a corresponding flag bit which is turned on (i.e. logic bit "1") if the polygon surface is "pierced" by the nail. Conversely, the flag bit is turned off (i.e. logic bit "0") if the surface is not "pierced" by the nail.
The bed of nails device includes a bed of nails generator, a bed of nails update device having both an [N+P] block and an [N-P] block, and a bed of nails memory. Both the [N+P] and the [N-P] blocks are connected to be driven by the bed of nails generator. The bed of nails memory is connected both to be driven by the [N+P] block and to drive both the [N+P] and the [N-P] blocks. (The [N] signifies a "new" polygon surface (one currently being processed by the bed of nails generator); and, the [P] signifies a composite of the "previous" polygon surfaces (ones previously processed and stored in the bed of nails memory)).
The bed of nails generator generates the bed of nails (of a 2.times.2 pixel array area of a portion) of a (new [N]) polygon surface. The [N-P] block performs a logical function, one which corresponds to the logical difference between (the 2.times.2 pixel array area of) the previous polygon surfaces [P] and (the similar area of) the new [N] surface. In other words, the [N-P] block develops an array of flag bits which delineate the "visible" (unocculted) portion of the surface. This "visible bed of nails" is used by the modular digital image generator to determine the fractional area (of the 2.times.2 pixel array area) covered by the visible portion of the surface, from which a suitable pixel intensity is developed.
The [N+P] block performs another logical function, one which corresponds to the logical union of (the 2.times.2 pixel area of (the previous polygon surfaces [P] and (the similar area of) the new [N] polygon surface. In other words, the [N+P] block develops an array of flag bits which delineates the total area covered by all of the surfaces which have been processed. Finally, the bed of nails memory stores the result of the [N+P] logical union for further processing.
Although the modular digital image generator is effective in representing opaque terrain, a need exists to additionally represent translucent objects such as clouds, smoke, and dynamic shadowing effects.